a14ae2555c0957eabd5542a9bfa7221ad7527197,portlets/lecture2go-portlet/docroot/WEB-INF/src/de/uhh/l2g/plugins/service/impl/Institution_HostLocalServiceImpl.java,Institution_HostLocalServiceImpl,updateCounter,#,275
Before Change
public Institution_Host updateCounter() throws SystemException, PortalException {
Counter counter;
// Initialize counter with a default value liferay suggests
CounterLocalServiceUtil.increment(Institution_Host.class.getName());
counter = CounterLocalServiceUtil.getCounter(Institution_Host.class.getName());
//Retrieve actual table data
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Institution_Host.class,classLoader).addOrder(OrderFactoryUtil.desc("institutionHostId"));
query.setLimit(0,1);
List<Institution_Host> institution_hosts = Institution_HostLocalServiceUtil.dynamicQuery(query);
Institution_Host institution_host = institution_hosts.get(0);
//write Counter
if (institution_host != null) counter.setCurrentId(institution_host.getInstitutionHostId());
CounterLocalServiceUtil.updateCounter(counter);
return institution_host;
}
After Change
}
public long updateCounter() throws SystemException, PortalException {
//get current Counter
Counter counter = CounterLocalServiceUtil.getCounter(Institution_Host.class.getName());
LOG.debug(counter.getCurrentId());
int count = Institution_HostLocalServiceUtil.getInstitution_HostsCount();
LOG.debug(count);
long institution_hostId = 0; //actual maxId
if (count>0){
//Retrieve actual table data
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Institution_Host.class,classLoader).addOrder(OrderFactoryUtil.desc("institutionHostId"));
query.setLimit(0,1);
List<Institution_Host> institution_hosts = Institution_HostLocalServiceUtil.dynamicQuery(query);
if(institution_hosts.size() > 0) institution_hostId = institution_hosts.get(0).getInstitutionHostId();
}
LOG.debug(institution_hostId);
//Update Counter if asynchronous with estimated value or data reseted
if (counter.getCurrentId() < institution_hostId || institution_hostId == 0){
counter.setCurrentId(institution_hostId);
CounterLocalServiceUtil.updateCounter(counter);
}
return counter.getCurrentId();
}